package xs.szw.service.model.pojo.sys;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 通知公告表
 * @TableName sys_notice
 */
@TableName(value ="sys_notice")
@Data
public class Notice implements Serializable {
    /**
     * 
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 通知标题
     */
    @TableField(value = "title")
    private String title;

    /**
     * 通知内容
     */
    @TableField(value = "content")
    private String content;

    /**
     * 通知类型（关联字典编码：notice_type）
     */
    @TableField(value = "type")
    private Integer type;

    /**
     * 通知等级（字典code：notice_level）
     */
    @TableField(value = "level")
    private String level;

    /**
     * 目标类型（1: 全体, 2: 指定）
     */
    @TableField(value = "target_type")
    private Integer targetType;

    /**
     * 目标人ID集合（多个使用英文逗号,分割）
     */
    @TableField(value = "target_user_ids")
    private String targetUserIds;

    /**
     * 发布人ID
     */
    @TableField(value = "publisher_id")
    private Long publisherId;

    /**
     * 发布状态（0: 未发布, 1: 已发布, -1: 已撤回）
     */
    @TableField(value = "publish_status")
    private Integer publishStatus;

    /**
     * 发布时间
     */
    @TableField(value = "publish_time")
    private Date publishTime;

    /**
     * 撤回时间
     */
    @TableField(value = "revoke_time")
    private Date revokeTime;

    /**
     * 创建人ID
     */
    @TableField(value = "create_by")
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新人ID
     */
    @TableField(value = "update_by")
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 是否删除（0: 未删除, 1: 已删除）
     */
    @TableField(value = "is_deleted")
    private Integer isDeleted;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}